极速分析再进化StarRocks 一直以卓越的性能表现闻名,StarRocks 4.0 将性能优势进一步扩大,并覆盖更多数据分析场景。 StarRocks 4.0 更进一步:正式将 JSON 升级为一等数据类型,并在执行层面加入了一系列深度优化,如索引、全局字典、延迟物化及谓词下推。 让 JSON 可以享受和结构化列同样的加速手段:相比 3.5 版本,StarRocks 4.0 在 JSON 查询上的性能提升 3–15 倍。 StarRocks 4.0 大版本将实现湖仓原生分析 ——将 StarRocks 多年来在数仓场景积累的优化经验,应用到开放格式之上,让用户基于 Iceberg 构建湖仓像使用 StarRocks 内表一样简单 文件层面:写入即查询StarRocks 4.0 对文件写入与管理进行了全面增强,不仅提升了写入性能,也让写入的数据天然适合高效查询。
导读:StarRocks 4.0 已正式发布! StarRocks 4.0 新特性在 4.0 版本中,StarRocks 的优化不再局限于查询执行层,而是进一步下沉到数据层——从写入、组织到维护,实现全链路优化。 Compaction API在需要进行数据维护时——例如经历大量微批写入之后——StarRocks 4.0 引入了全新的 Compaction API。 Benchmarks我们针对 Apache Iceberg 表进行了多组写入测试,对比 StarRocks 4.0 与 3.4 版本在不同负载下的表现。 在 StarRocks 4.0 中,这种“仓库级的严谨”已被融入系统内核:数据落地即具备可查询状态,写入过程稳定高效,合并维护可按需即时完成。
导读:StarRocks 4.0 已正式发布!这一版本带来了多项关键升级。接下来,我们将以每周一篇的节奏,逐一解析 4.0 的核心新特性。 本文将介绍这一模型的核心原理,以及在 StarRocks 4.0 中的实践落地。Apache Iceberg 提供了一种开放、通用的表格式,任何计算引擎都可以直接使用。 StarRocks 4.0 引入了 JWT (JSON Web Token) 身份透传功能,并支持通过 Iceberg REST Session Catalog 进行凭证发放,这一架构实现了完整的端到端落地 如何在 StarRocks 4.0 中启用以 Catalog 为核心的访问控制要在 StarRocks 4.0 中启用 Catalog 中心化访问控制,只需完成以下几个关键步骤:配置 JWT 认证在引擎端启用并配置企业 借助 StarRocks 4.0 与 Iceberg REST Session Catalog,这一架构已经从概念走向落地,从根本上消除了超级账号与长期密钥带来的安全风险。
导读:StarRocks 4.0 已正式发布!这一版本带来了多项关键升级。 本篇聚焦 JSON 查询性能的系统性提升——通过全新的 FlatJSON 列式存储与执行优化机制,StarRocks 4.0 让 JSON 在实时分析场景中具备接近原生列存的性能。 :引入 JSON 类型,采用二进制序列化格式,并补充丰富的 JSON 查询函数;3.3 版本:推出 FlatJSON 列式存储,自动将 JSON 中的高频字段列化,使存储层性能首次接近列存;4.0 版本 FlatJSON 列式存储要理解 FlatJSON 的设计原理,首先需要回顾 StarRocks 的基础存储结构:Segment 是 StarRocks 的最小文件存储单元,通常大小约为 1GB,每次导入数据至少会生成一个 为此,StarRocks 在 Segment 局部字典的基础上引入了 全局字典,通过汇总各节点的局部字典,构建出统一的全局映射表。
StarRocks内部导入,可以在StarRocks内部使用insert into tablename select的方式导入,可以跟外部调度器配合实现简单的ETL处理。 FE:Frontend,StarRocks系统的元数据和调度节点。在导入流程中主要负责导入执行计划的生成和导入任务的调度工作。 BE:Backend,StarRocks系统的计算和存储节点。 2.Spark Load Spark Load 通过外部的 Spark 资源实现对导入数据的预处理,提高 StarRocks 大数据量的导入性能并且节省 StarRocks 集群的计算资源。 名词解释 FE:Frontend,StarRocks的前端节点。负责元数据管理和请求接入。 BE:Backend,StarRocks的后端节点。负责查询执行和数据存储。 官方链接:StarRocks @ StarRocks_intro @ StarRocks Docs
自 2.3.0 版本起,StarRocks 支持通过外部表的方式查询支持 JDBC 的数据库,无需将数据导入至 StarRocks,即可实现对这类数据库的极速分析。 适用场景:多表连接同一数据库:当需要从StarRocks连接到多个外部表,且这些外部表都指向同一个外部数据库时,使用RESOURCE可以提高效率和可维护性。 StarRocks支持对目标表进行谓词下推,把过滤条件推给目标表执行,但是不支持下推函数。 这意味着对于JDBC外部表,StarRocks可以将一些基础的比较运算符(如>、>=、=、<、<=)、IN、IS NULL和BETWEEN ... 如果您仍需要通过 StarRocks 查询目标数据库的数据,可以重新创建 JDBC 资源和 JDBC 外部表。
目录 一、什么是StarRocks? 使用StarRocks 来统一数据湖和数据仓库,将高并发和实时要求性很高的业务放在StarRocks中分析,把数据湖上的分析使用StarRocks外表查询,统一使用 StarRocks 管理湖仓数据。 StarRocks整体对外暴露的是一个MySQL协议接口,支持标准SQL语法。用户通过已有的MySQL客户端能够方便地对StarRocks里的数据进行查询和分析。 四、StarRocks表设计 列式存储 StarRocks的表和关系型数据相同, 由行和列构成,每行数据对应用户一条记录, 每列数据有相同数据类型。 则内存占用: (12 + 9(每行固定开销) ) * 1000W * 3 * 1.5(hash表平均额外开销) = 945M 官方文档:StarRocks @ StarRocks_intro @ StarRocks
StarRocks 1、StarRocks的非主键表的表字段不支持修改,一般需要重新建表,但是表名可以修改,可以新增或删除列。 3、StarRocks中主键表的insert into在主键冲突时会自动覆盖数据。 但是StarRocks集群之间可以通过MySQL协议进行数据同步,查询速度会稍微受到影响,百万级的读取速度在10秒内。 8、StarRocks可以通过MySQL协议读取ClickHouse的数据,需要指定ClickHouse的MySQL协议的地址和端口(一般为9004)。 ,但 date_format(t1.end_date, 'yyyyMMddHH') 不行,这是因为 StarRocks 对日期格式字符串的解析有特定规则。
综上,StarRocks计划对象可以分为两类:查询计划:与查询优化相关的计划树,实现了Optimizer优化执行计划:与执行调度相关的计划树,实现细粒度的MPP执行调度实现流程StarRocks FE 主要有两部分组成:优化器:负责计划树RBO和CBO优化,生成逻辑执行计划调度器:基于逻辑执行计划,设置DOP并发度,选择BE执行节点,构建执行DAG,下发执行实例,获取返回结果等优化器StarRocks 特别的,FragmentInstance在该阶段未生成,将在调度阶段生成调度器StarRocks中Coordinator协调调度器有两类:DefaultCoordinator:核心调度组件,用于FE与BE FragmentInstanceExecState 执行状态流转图:源码分析StarRocks优化器入口Optimizer类,优化器optimizer整体代码结构如下:# 路径 src/main/java 查询优化器深度解析StarRocks 技术内幕:查询原理浅析StarRocks 优化器代码导读StarRocks 查询调度源码解析技术内幕 | StarRocks Pipeline 执行框架(上)
作者:StarRocks TSC Member、镜舟科技 CTO——张友东本文基于镜舟科技 CTO、StarRocks TSC 成员张友东在 StarRocks Connect 2025 活动上的主题分享整理而成 连接世界(过去)在过去五年中,StarRocks 始终保持着快速迭代。今年 10 月,StarRocks 即将发布 4.0 版本,至此已经完成了从 1.0 到 4.0 的四次重要升级。 该基金会汇聚了包括 Linux、Kubernetes 在内的重量级开源项目,如今 StarRocks 也成为其中一员。4.0 将于 2025 年 10 月推出,在 AI Agent 方向实现更多突破。 以 TPC-DS 1TB 测试为例,从 2.0 到 3.0,再到即将发布的 4.0,StarRocks 的性能指标一直保持稳定提升。 该能力自 3.0 版本引入后,在 4.0 中已迭代至第二代(V2),性能进一步优化。
文档:https://docs.starrocks.io/zh/docs/using_starrocks/async_mv/Materialized_view/物化视图管理不同版本对物化视图支持的特性不一样 ,查看当前StarRocks版本。 /注意事项当前 StarRocks 不对嵌套层数进行限制。 StarRocks 目前无法感知外部数据目录基表数据是否发生变动,所以每次刷新会默认刷新所有分区。您可以通过手动刷新方式指定刷新部分分区。 在 v3.1.0 之前,StarRocks 仅支持哈希分桶。您在建表和新增分区时必须设置哈希分桶键(即 DISTRIBUTED BY HASH 子句),否则建表失败。
背景生产环境中使用StarRocks一般都是多节点,3个fe3个be已经是很小的规模了,出现问题需要查日志的话,6个节点上找日志是比较费劲的,我们希望能够将日志都收集到es,查找方便而且支持搜索,提升排查问题的效率 日志类型我们知道StarRocks集群有两种节点类型,fe和be,对应有fe.log和be.log,细分其实还有warn、info、error日志,但是warn和error比较少,这里合并到一起收集。 另外,StarRocks是个数据库,所以sql日志也非常重要。 日志处理Filebeat配置我们使用的阿里的E-mapreduce,sr日志目录如下filebeat.inputs:- type: log id: ali-starrocks02-be02 enabled : true symlinks: true paths: - /opt/apps/STARROCKS/starrocks-current/be/log/be.INFO multiline.pattern
如果物化视图 join_mv1 仅包含 lineorder 和 customer 的 Join,StarRocks 可以使用 join_mv1 来改写查询。 v3.1+2 物化成功率-- 物化视图成功优化 StarRocks支持将物化视图刷新任务的部分中间结果落盘ALTER MATERIALIZED VIEW mv2 SET ('session.enable_spill
若过滤效果差,即使创建索引,数据库也会自动跳过(如 StarRocks 的自适应机制)。 StarRocks 的自适应机制StarRocks 会自动判断 Bitmap 索引是否适用:若索引能有效过滤数据且加载开销小,则启用;若索引过滤效果差或加载开销大,则自动跳过,避免影响查询性能。
本月精选内容文章精选迈向云原生:理想汽车 OLAP 引擎变革之路StarRocks 查询优化器深度解析从被动救火到主动预防,StarRocks 监控与告警全攻略RAG 实战|用 StarRocks + StarRocks问题复盘 Clone RUNTIME_ERROR 及修复StarRocks Zonemap IndexFlink高性能读写StarRocks内表剖析Apache Paimon数据湖查询引擎 StarRocks视频精选【中字教程】数据入湖到可视化:Hudi+MinIO+StarRocks + HiveMetaStore + Apache SuperSet本月精选活动StarRocks 社区 StarRocks 社区 2025 布道师计划正式开启StarRocks 小课堂 | 监控告警全覆盖,别等服务挂了才处理! 告别被动救火,掌握监控主动权⏬演讲文档:从被动救火到主动预防,StarRocks 监控与告警全攻略视频回放:StarRocks 小课堂| 监控告警全覆盖,别等服务挂了才处理!
导读:9 月 13 日, StarRocks Connect 2025 于线上线下同步举行并圆满落幕。 技术演进:从性能引擎到 AI Native 平台StarRocks TSC Member、镜舟科技 CTO 张友东《StarRocks: Connect Data Analytics with the StarRocks 的性能持续精进,TPC-DS 测试成绩从 2.0、3.0 到即将发布的 4.0 版本一路提升。 同时,针对半结构化数据的核心功能 FlatJSON 也在 4.0 中迎来了 V2 版本的重大优化,性能提升超 10 倍。 连接 AI Agent(未来)张友东首次分享了将于 10 月发布的 StarRocks 4.0 在 AI Agent 辅助数据建模方面的探索。
Gable Heng 分享了 Grab 如何利用 StarRocks 优化交互式查询和 BI 报表场景。 Huong Vuong 则介绍了 Grab 如何通过 StarRocks 改进 Spark 任务的可观测性工具 Iris。 StarRocks 提供了完整的 SQL 支持、列式存储和向量化执行,显著提升了查询性能,并将实时数据分析的延迟降低了 50%。 ,分享了 StarRocks 在低延迟和高可用性方面的优化。 type=season 文章:StarRocks 在 Shopee 数据产品的实践Pinterest:从 Druid 到 StarRocks,实现 6 倍成本效益比提升https://engineering.grab.com
官方文档:https://docs.starrocks.io/zh/docs/quick_start/快速开始教程:https://docs.starrocks.io/zh/docs/quick_start 特性兼容 MySQL 协议StarRocks 兼容 MySQL 协议,支持标准 SQL。用户可以轻松地通过 MySQL 客户端连接到 StarRocks 实时查询分析数据。 实时导入StarRocks 能够支持秒级的导入延迟,提供准实时的服务能力。StarRocks 的存储引擎在数据导入时能够保证每一次操作的 ACID。 您可以将 StarRocks 作为查询引擎,直接查询湖上数据,无需导入数据至 StarRocks。数据表StarRocks 中的表分为两类:内部表和外部表。 StarRocks 的物化视图可以按需灵活创建和删除。用户可以在使用过程中视实际使用情况来判断是否需要创建或删除物化视图。StarRocks 会在后台自动完成物化视图的相关调整。
今天被朋友圈刷屏了,StarRocks开源——携手未来,星辰大海! 原文链接:StarRocks开源——携手未来,星辰大海! 可能大家对StarRocks不太熟悉,但是DorisDB想必都是听说过的。 在过去相当长的一段时间,对于ClickHouse 与 DorisDB的性能之争一直经久不息。 DorisDB升级为StarRocks,并全面开源(Github搜索“StarRocks”) Github:https://github.com/StarRocks/starrocks 另外,官方下载地址与文档
StarRocks 调研因为 ClickHouse 无法有效的支撑业务类数据的分析场景,所以我们继续调研了 StarRocks ,主要是看重了 StarRocks 里存在非常适合实时更新场景的主键模型( 图片最后就是 StarRocks 的兼容性,相比于 ClickHouse ,StarRocks 的 MySQL 兼容性更加优秀,基本完全兼容 MySQL 协议与 SQL 语法,开发也可以无缝切换到 StarRocks 后期我们主要通过部署 StarRocks 来解决项目上业务数据的实时分析,不过相较于 ClickHouse 的单机部署,StarRocks 则通常是多节点部署才能发挥更好的查询性能,因此 StarRocks StarRocks 同步MySQL to StarRocks 是我们基于 Bifrost 做了一些改动后实现,还是利用 Bifrost 自身的 CDC 功能,先将增量数据写入 Kafka 中,然后在 StarRocks 如果是分析业务流数据,更加推荐 StarRocks ,因为 StarRocks 对于更新场景性能更加,而且 JOIN 性能更好,而且更加推荐部署 StarRocks 集群,可以充分发挥 StarRocks